AccelLabel: Add get_accel_closure() accessor
authorDaniel Boles <dboles@src.gnome.org>
Mon, 7 Aug 2017 09:38:37 +0000 (10:38 +0100)
committerTimm Bäder <mail@baedert.org>
Sun, 11 Aug 2019 07:55:43 +0000 (09:55 +0200)
Fixes #875

docs/reference/gtk/gtk4-sections.txt
gtk/gtkaccellabel.c
gtk/gtkaccellabel.h

index 1159248bff7989a31450f38baaa20de62c48e231..b72906d7ab81b6097e1e312673c47712555f395a 100644 (file)
@@ -136,6 +136,7 @@ gtk_accel_map_get_type
 GtkAccelLabel
 gtk_accel_label_new
 gtk_accel_label_set_accel_closure
+gtk_accel_label_get_accel_closure
 gtk_accel_label_get_accel_widget
 gtk_accel_label_set_accel_widget
 gtk_accel_label_get_accel_width
index 938602c840f5d5255c77fcc800bfbb0a8b35c831..0906d7e76f4362f1416405a4e8a28757fd1ef0f5 100644 (file)
@@ -373,7 +373,8 @@ gtk_accel_label_finalize (GObject *object)
  * Fetches the widget monitored by this accelerator label. See
  * gtk_accel_label_set_accel_widget().
  *
- * Returns: (nullable) (transfer none): the object monitored by the accelerator label, or %NULL.
+ * Returns: (nullable) (transfer none): the widget monitored by @accel_label,
+ * or %NULL if it is not monitoring a widget.
  **/
 GtkWidget *
 gtk_accel_label_get_accel_widget (GtkAccelLabel *accel_label)
@@ -561,6 +562,26 @@ gtk_accel_label_set_accel_closure (GtkAccelLabel *accel_label,
     }
 }
 
+/**
+ * gtk_accel_label_get_accel_closure:
+ * @accel_label: a #GtkAccelLabel
+ *
+ * Fetches the closure monitored by this accelerator label. See
+ * gtk_accel_label_set_accel_closure().
+ *
+ * Returns: (nullable) (transfer none): the closure monitored by @accel_label,
+ *   or %NULL if it is not monitoring a closure.
+ */
+GClosure *
+gtk_accel_label_get_accel_closure (GtkAccelLabel *accel_label)
+{
+  GtkAccelLabelPrivate *priv = gtk_accel_label_get_instance_private (accel_label);
+
+  g_return_val_if_fail (GTK_IS_ACCEL_LABEL (accel_label), NULL);
+
+  return priv->accel_closure;
+}
+
 static gboolean
 find_accel (GtkAccelKey *key,
            GClosure    *closure,
index 3c5c67e90f9d63b8088e2f13c3dd188839569aef..a5e63559f19027af3912d220badd38fa060ecfc5 100644 (file)
@@ -44,17 +44,19 @@ typedef struct _GtkAccelLabel            GtkAccelLabel;
 GDK_AVAILABLE_IN_ALL
 GType     gtk_accel_label_get_type          (void) G_GNUC_CONST;
 GDK_AVAILABLE_IN_ALL
-GtkWidgetgtk_accel_label_new              (const gchar   *string);
+GtkWidget *gtk_accel_label_new              (const gchar   *string);
 GDK_AVAILABLE_IN_ALL
-GtkWidgetgtk_accel_label_get_accel_widget  (GtkAccelLabel *accel_label);
+GtkWidget *gtk_accel_label_get_accel_widget  (GtkAccelLabel *accel_label);
 GDK_AVAILABLE_IN_ALL
 guint     gtk_accel_label_get_accel_width   (GtkAccelLabel *accel_label);
 GDK_AVAILABLE_IN_ALL
 void      gtk_accel_label_set_accel_widget  (GtkAccelLabel *accel_label,
                                              GtkWidget     *accel_widget);
 GDK_AVAILABLE_IN_ALL
-void      gtk_accel_label_set_accel_closure (GtkAccelLabel *accel_label,
-                                             GClosure      *accel_closure);
+void       gtk_accel_label_set_accel_closure (GtkAccelLabel *accel_label,
+                                              GClosure      *accel_closure);
+GDK_AVAILABLE_IN_ALL
+GClosure * gtk_accel_label_get_accel_closure (GtkAccelLabel *accel_label);
 GDK_AVAILABLE_IN_ALL
 gboolean   gtk_accel_label_refetch           (GtkAccelLabel *accel_label);
 GDK_AVAILABLE_IN_ALL